git commit -m "woke"
This is the first post I'm making that is not directly about software engineering or this site. Although my intention is to continue writing mainly on the subject of software (I don't know much about anything else) I've been wanting to explore other ideas about the word we live in. So let's ceremoniously kick this off with an uncontroversial topic: social justice and inclusivity.
I'd like to narrow in on one controversy in particular. Following the murder of George Floyd and the Black Lives Matter protests of last year, there was movement within the open source community to replace terms like "master", "slave", "blacklist", "whitelist", and other non-inclusive terms. Github stood out, vowing to change the default "master" branch in git repositories to "main". This was not an isolated event. Companies, organizations, and individuals alike took a collective and hard stance against problematic terminology that was now loudly antiquated - after the collective shock to Americans that systematic racism still has strong roots within us.
I will not spend time addressing whether or not systematic racism permeates our history and present (it does) because I want to focus on what we, one year after witnessing a black man senselessly murdered by an American police officer, have done about it. And more specifically, I want to talk about why the git controversy is a realization that we have done far too little.
I would argue that the cleanup of problematic terms within our lexicon is a good thing. There simply is no good argument against it. The most prominent concern, that "woke" culture is a slippery slope to fascism, is too ridiculous to be taken seriously. The more neutral stance - "I don't think it's a big deal" - is much fairer. But given the context that set off the latest BLM advocacies, and understanding the reactionary state to these events, these seemingly neutral terms are granted exception. Addressing them is a form of solidarity to the cause, and there is a finite amount of time in the spotlight to abet progress in areas that would otherwise be ignored.
These areas are about language, how we communicate, and how it subtly affects our thinking. It is something that will naturally change over time, arguably exponentially faster given how fast our cultures have been changing the last two hundred years. We choose the words we use, but to some extent they are chosen for us, by an unseen force emerged from collectivism.
Like the seemingly innocuous institutions that indirectly impede social equity, we can pull the same curtain over our words - without realizing - since they only exist to us in the present. When that curtain is pulled away, we have the choice to take action, to expediate the progress that would hopefully happen later. The choice becomes clearer when we realize that the arrow of progress is not linear and eternal. Our delusions that social progress will "just happen" begin to dim, as we realize present action is the only catalyst.
This is a long-winded and soap-boxy way of saying: I am in support of changing racist and problematic words and imagery. When Aunt Jemima chose to change their image, I was all for it. When Lady Antebellum decided to change their name, good on them. When Dixie beer sought out a new name with less baggage, I'm there with suggestions. But when git decided that "master" was a non-inclusive term worthy of being addressed, I had to take pause. It was not necessarily that I had a problem with that change, but rather the fact that the arrow of progress had led us to that point had disappointed and disillusioned me.
I sense that it's been long enough since the hubbub about the "master" branch that I feel comfortable expressing my thoughts about it. I would like to hope that I am not alone in feeling that this naming convention is "not a big deal". Unlike the other names I mentioned, all of which are, at best, unfortunate terms with clear connections to pre-civil war and Jim Crow era southern racism, the git "master" branch has absolutely no connection. The only issue is, superficially, the term "master", which contextually has nothing to do with the owning of slaves. It is not a poor naming choice like "master" and "slave" hard drives (which doesn't even make sense given their technical relationship). It is not as bad as "male" and "female" socket ports which is outdated given our current understanding of biological sexes. No - the git "master" branch is low-hanging fruit for social justice. And it is not where we need to be.
Because I couldn't reconcile the logic of this change, I began to question the other ones. Of course I was aware that it was likely a corporate marketing department, eager to cash in on the free publicity, that drove the Aunt Jemima debacle. Maybe the logic is not important, I thought. After all, "facts and logic" can be easily contorted to obscure what really matters, and what matters is the implications of these changes. Perhaps there are individuals who cannot consciously escape the legacy of slavery to such a degree that the term "master" is a significant trigger. Do they feel the same way about other terms, like "mastery", "headmaster", or "master's degree"? Are these terms worthy of examination as well? At this point, my inner monologue begins to sound like a David Brooks type conservative pundit and I willingly turn it off. I know where this type of reasoning leads to and it is certainly not the holistic worldview needed for today.
But as I stated before - we have but little time in our fast moving world to harness the collective consciousness of our society to enact the changes we so desperately need. In the time since Mr. Floyd's death, there has been intense awareness of police brutality against black, brown, and even white individuals in our country. The officer responsible for Mr. Floyd's death has been charged with murder, which is actually a rare event to see. Previously "radical" ideas about police reform have entered the mainstream, like defunding the police, finally addressing the issues of police militarization and forcing us to re-examine better, proven ways to address crime outside of law enforcement.
But also, there have been no radical changes to the institutions of law enforcement and our criminal justice system. Breonna Taylor, another victim of police brutality, did not receive the same justice that George Floyd did. And the following year saw a wave of local and state issued voter suppression laws, harshly reminding us that the southern strategy is still alive and working.
In the end, it was a good thing to change the default git branch because any change is good. It was a bad user experience to not be able to change the default branch in the first place, and "main" or "trunk" are objectively better terms given the structure of a git repository. Last year, I was excited that a wave of change, powerful and direct in force, was heading towards our rooted, rotten institutions. The Aunt Jemimas and Dixies and "master" branches were just caught up in the larger tsunami. But now I realize that the force is just a weak river - bending past the walls of the status quo and leaving us with the sediments of a few changed names. And like all rivers it will carve out a new direction over time, but not fast enough that a generation can notice.
Until then, I will reluctantly celebrate our new banks, determined to flow with vigor towards the change we deserve.